	【SX-WINDOWデバッガ SDB.X】



【デバッガウィンドウの共通操作】

OPT.1+左クリック	正方向スクロール
OPT.1+右クリック	逆方向スクロール

OPT.1+SHIFT+クリック	ページスクロール

　一行入力が可能なウィンドウにおいては、入力され
た式の評価値がアドレスとみなされるようになってい
ます。



【一行入力時の操作】
	( ブレークポイント, 逆アセンブラ,
	  メモリダンプ, and 変数ウィンドウ )

◎ヒストリは全ウィンドウで共通です。

RETURN	入力完了			^M
DEL	一文字削除			^G
BS	一文字後退			^H
CLR	行のキャンセル			^Y
UNDO	Undo(^P, ^Mに同じ)		^J, ^Z
	カーソル位置以降削除		^K

^←	行頭へ				^Q
←	カーソル左			^S
^→	行末へ				^P
→	カーソル右			^D

TAB	単語補完(正順)			^I
	単語補完(逆順)			^U
↑	ヒストリ検索(新しいものから)	^E
↓	ヒストリ検索(古いものから)	^X



【ブレークポイントウィンドウ】

　入力した式が、ブレークポイントとして登録されま
す。

　式の様式は、次のとおりです。

<ADDRESS> [ <ADDRESS> ... ] [ , <CONDITION> ]
ex)	main
	main:450 main:460, i > 2



【逆アセンブラウィンドウ】

　入力した式が、逆アセンブルリストの表示起点とな
ります。

☆左クリック		ブレークポイントの設定(E)
☆SHIFT+左クリック	ブレークポイントの設定(T)



【メモリダンプウィンドウ】

　入力した式が、メモリダンプの表示起点となります。
相対ショートモードのときは、相対番地のベースアド
レスとなります。

☆左クリック	ダンプリストから1ロングワード選
		択します。選択されたワードは、行
		入力ラインに登録されますので、次
		のキー入力の際にすぐ利用できます。
☆左ﾀﾞﾌﾞﾙｸﾘｯｸ	選択されたワードを、逆アセンブラ
		ウィンドウに渡します。



【スタックフレームウィンドウ】

　カレントでないフレームの表示中には、レジスタ変
数は表示できません。

　なお、式の入力はできません。



【ソースリストウィンドウ】

☆左クリック		ブレークポイントの設定(E)
☆SHIFT+左クリック	ブレークポイントの設定(T)

　行番号を入力しての行ジャンプができます。



【レジスタウィンドウ】

　スクロール／リサイズ／行入力などの操作は必要
ありません。



【変数ウィンドウ】

　入力した式が、監視式として登録されます。式は、
PCのスコープにしたがって表示されます。

☆左クリック	式の選択



【デバッガウィンドウの共通操作】

OPT.1+左クリック	正方向スクロール
OPT.1+右クリック	逆方向スクロール

OPT.1+SHIFT+クリック	ページスクロール







	【SX-WINDOWデバッガ SDB.X】



【コマンド一覧】
( コマンド名, 短縮形, 機能 )

quit		(q.) 現在デバッグ中のタスクを
		停止させます。
abort		(a.) コマンドシェルに戻ります。

continue	(c.) 実行を再開します。
stepi		(si) 一命令実行します。
nexti		(ni)stepiに同じですが、bsr/jsr
		内部はトレースしません。
untili		(ui)次の命令に達するまで実行を
		続けます。
until <ADDRESS>	(u.)指定したアドレスまで実行を
		行います。
nextjob <tID>	(nj)複数ターゲットデバッグを行っ
		ているとき、デバッグターゲット
		を次のタスクに回します。tIDで
		タスクIDを指定すると、指定した
		IDのタスクをターゲットにします。



step		(s.)ソースを一行実行します。カ
		レントPCがCソースに含まれてい
		ないときは、Cソースの範囲にPC
		が入るまでトレースを続けます。
next		(n.)stepに同じですが、関数内は
		トレースを行いません。
until		(u.)次行に到達するまでまで実行
		します。
finish		(f.)現在実行中の関数から脱出し
		ます。



break <ADDRESS>[ , <CONDITION> ]
		(b.) ブレークポイントを設定し
		ます。
tbreak <ADDRESS>[ , <CONDITION> ]
		(tb.) テンポラリブレークポイン
		トを設定します。
delete  <n>[, <n> ...]	(d.)
enable  <n>[, <n> ...]	(e.)
disable <n>[, <n> ...]	(di.)
		ブレークポイントを削除/許可/禁
		止します。



delete  *
enable  *
disable *
		全ブレークポイントに対して作用
		します。



getchar		(g.)カーソルを点滅させて1文字
		入力を行います。
print "format", <EXPRESSION> (p.)
		format(printfと同じもの)に従い、
		<EXPRESSION>を評価、表示します。
argument "string" (ar.)
		stringをターゲットのコマンドラ
		インにセットします。





【アドレス指定<ADDRESS>】

　コマンド説明中の<ADDRESS>には次のものが指定
できます。

◎return	現在実行中の関数の戻り先を指し
		ます。
◎break		現在実行中のブロックの外側、お
		よび現在実行中の関数の出口を指
		します。
◎行番号	行番号の存在するアドレスです。
		ただしPCの含まれているソースに
		おいての行番号です。
◎関数名:行番号	行番号の存在するアドレスです。
		ただし<行番号>は<関数>に含まれ
		ていなくてはなりません。
◎式		式の評価値をアドレスとみなしま
		す。ex) 0x21107e main





【使用できる式】

　Cで使用できる式が使用できます。次の点に注意
してください。

◎関数呼び出しはサポートされていません。

◎<ポインタ> - <ポインタ>の演算は、双方のpower
(基本型の語長)が同じならば、減算が行われた後に
powerでスケーリングされます。そうでない場合は、
そのまま減算が行われます。

◎レジスタ変数のアドレスを取ることを禁止してい
ません。





【レジスタ】

　レジスタは$d0～$d7, $a0～$a7, $sp, $ssp,
$pc, $sr, $ccrをサポートしています。変数型は
$pcが(unsigned short *)で、それ以外は
(unsigned long) です。





【内部変数】

$$, $0～$9, $A～$Z, $a～$zが使用できます。





【マクロ】

◎マクロの定義
$$n = { 実行文 }

◎マクロの実行
$$n			引数無しの場合
$$n( $1, $2, ... $9 )	引数を指定する場合

ex) 階乗; nには整数/実数が使用できます。$$0( n )
$$0 = { $0 = ( $1 ? ( $1 * $$0( $1 - 1 ) ) : ( 1 ) ) }
